home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / protocol / standard / ieee / 1076_1 / analog / ref / dod / requirem.txt < prev   
Encoding:
Text File  |  1993-02-27  |  34.5 KB  |  894 lines

  1.  
  2.                 Complete list of collected requirements
  3.                    for the Analog extention to VHDL.
  4.  
  5.                        Mart Altmae/Kevin Nolan
  6.  
  7.  
  8. The purpose of this document is to summarize all requirements
  9. submitted to the sub-par 1076.1 for analog extentions to VHDL.
  10. It includes the ones relating to analog matters, which were already
  11. submitted to the VHDL'92 restandardization effort, as presented by
  12. Kevin Nolan in his document on consolidated North American and European
  13. Analog VHDL Requirements, the additional ones collected by Mart
  14. Altmae, and finally a few new North American requirements, presented
  15. by Kevin Nolan at the VHDL-Forum meeting in Santander last April. 
  16.  
  17. VHDL'92 requirements, collected by Kevin Nolan:
  18. ==============================================
  19.  
  20. 1.  Support for Continuous Time
  21.  
  22. Generated by:    NA1, E48
  23.  
  24. Summary:    The execution of a VHDL model must be extended from the
  25. notion of the evaluation of events at discrete points in time to the
  26. notion of continuous evaluation over continuous time.
  27.  
  28. 2.  Mixed mode support: conversion between analog and digital domains
  29.  
  30. Generated by:    NA2, E48
  31.  
  32. Summary:    Objects defined using discrete time semantics (signals)
  33. and continuous time semantics (waveforms) must be able to com-
  34. municate with one another to provide the ability to perform mixed-mode
  35. simulation.
  36.  
  37. 3.  Support for analog pins and a way to connect them
  38.  
  39. Generated by:    NA3, E13, E16
  40.  
  41. Summary:    Electrical circuits are typically described as an
  42. interconnection of elements that exhibit some electrical behavior.
  43. The connection points at the elements are defined in terms of ports.
  44. Each electrical port consists of two physical connection points that
  45. are defined as terminals (N-Port Theory).
  46.  
  47. 4.  Analog pin behavior conforming to conservation laws
  48.  
  49. Generated by:    NA4, E16
  50.  
  51. Summary:    The objective is to describe the physical operation of
  52. circuits.  The most common method is the use of Kirchoffs current and
  53. voltage laws. We therefore speak of electrical behavior in terms of
  54. currents flowing through the branches and the voltages across nodes
  55. of a network
  56.  
  57. 5.  New operators and intrinsics to support domain conversion and the 
  58.     specification of derivatives
  59.  
  60. Generated by:    NA5
  61.  
  62. Summary:    To support the conversion from analog domain to digital
  63. domain a threshold function is needed in order to schedule events on
  64. the digital side. Conversely, a analog waveform generator function is
  65. needed to support the conversion of digital signals to analog
  66. waveforms. In order to model certain analog devices, a time-derivative
  67. operator is required.
  68.  
  69. 6.  Specification of error tolerances to be used by numerical algorithms 
  70.     used to solve the analog system
  71.  
  72. Generated by:    NA6, E16
  73.  
  74. Summary:    Since analog simulation employs numerical methods in order
  75. to solve a system of ordinary differential equations, an error
  76. tolerance must be specified to bound the numerical errors generated
  77. by these methods.
  78.  
  79. 7.  New data types and associated operators
  80.  
  81. Generated by:    NA7
  82.  
  83. Summary:    Several new data types are required to model various
  84. systems.  Complex numbers and/or phasors (polar coordinates) are
  85. needed to model filter networks, etc. Similarly, transcendental
  86. functions are required to model semiconductors.
  87.  
  88. 8.  Specification of generics whose value can be dependent on time or
  89.     other system variables
  90.  
  91. Generated by:    E13, E16
  92.  
  93. Summary:    It is necessary for modeling non-linear devices (e.g.
  94. semiconductors) to define models having the value of certain parame-
  95. ters vary as a function of time or the state of other simulation
  96. variables.
  97.  
  98. 9.  Definition of new pin types and semantics to be specified by users
  99.  
  100. Generated by:    E16, E24, E48
  101.  
  102. Summary:    To model systems containing non-electrical or hybrid
  103. devices, it must be possible to define custom pin types. For example,
  104. rotational pins would be used to model motors, thermal pins to
  105. describe self-heating electrical systems, etc. The conserved
  106. properties of these custom pin types most also be specified.
  107.  
  108. 10. Ability to reference the through, (e.g. current) and across (e.g.
  109.     voltage) components of analog entities
  110.  
  111. Generated by:    NA5, E16
  112.  
  113. Summary:    In conserved systems, behavior is described by specifying
  114. the relationship between dependent variables of the system to the
  115. independent variables. In electrical systems, onemight specify how the
  116. current through a device is a related to the voltage across its
  117. terminals. This requires access to the current through terminals and
  118. the voltage across them.
  119.  
  120. 11. Ability to specify the conservation laws associated with a user
  121.     defined pin type
  122.  
  123. Generated by:    E16
  124.  
  125. Summary:    For every type of pin that can be connected to other pins
  126. in a network, the properties of that pin which must be conserved has
  127. to be supplied. In electrical systems, the usual conservation laws
  128. are given by KCL, and KCL. Analogous conservation laws must be
  129. specified for non-electrical systems.
  130.  
  131. 12. Specification of error tolerances for a specific node
  132.  
  133. Generated by:    E16
  134.  
  135. Summary:    It is desireable to be able to specify the maximum
  136. relative error when using KCL to calculate the current through a spe-
  137. cific node. According to KCL the current through any node will always
  138. sum to zero. The maximum relative error at that node would be the
  139. ratio of the difference between the currents flowing into the node to
  140. the currents flowing out.
  141.  
  142. 13. Specification of and event trigger threshold to cause evaluation
  143.     of a event driven process body
  144.  
  145. Generated by:    E16
  146.  
  147. Summary:    In order to determine whether an digital event has
  148. occurred as a result of an analog state change, it is desirable to
  149. allow the specification of the minimum analog change threshold to con-
  150. trol the evaluation of a process body. A higher value for this
  151. parameter would cause fewer evaluations of the process body and
  152. therefore faster simulation, a lower value would result in more
  153. evaluations, longer simulations, and possibly greater simulation
  154. accuracy at the analog transition points.
  155.  
  156. 14. Allow specification of a foreign simulator interface
  157.  
  158. Generated by:    E24, E46
  159.  
  160. Summary:    To allow VHDL to communicate with foreign (non-VHDL)
  161. simulators, it is required to allow the specification of a foreign
  162. simulator interface.
  163.  
  164. 15. Inclusion of DC operating point analysis as part of time-zero
  165.     initialization and a way to conditionaly execute blocks based upon the
  166.     initialization state.
  167.  
  168. Generated by:    E47
  169.  
  170. Summary:    Electrical systems have what is called a dc operating
  171. point.  This describes the quiescent state of the system at time-zero.
  172. Usually, before the simulation of a transient behavior, the dc
  173. operating point must be computed. To accommodate this, the
  174. initialization semantics of VHDL must be extended to include dc
  175. analysis. It is also necessary to control the execution of behavior
  176. blocks based upon the initialization state. In other words, it must be
  177. possible to only execute certain blocks at the dc operating point and
  178. at no other time.
  179.  
  180. The following requirements were also submitted to VHDL'92.
  181. =========================================================
  182.  
  183. 16. Analog Modeling
  184.  
  185. Generated by:   A17
  186.  
  187. Summary:        To allow the description of analog system/circuit
  188. behavior from the following perspectives: discrete-event models of
  189. digital circuits, continous-time descriptions of analog circuits,
  190. frequency-domain descriptions of analog circuits and wave-domain 
  191. descriptions of microwave circuits.
  192.  
  193. 17. Physical quantities
  194.  
  195. Generated by:   A18, E62
  196.  
  197. Summary:        Support for dimensional analysis of physical quantities.
  198.  
  199. 18. Introduction of simultaneous equations
  200.  
  201. Generated by:   E12, E63
  202.  
  203. 19. Access to current value crossing an electrical component
  204.  
  205. Generated by:   E64
  206.  
  207. New Requirements, collected by Mart Altmae
  208. ==========================================
  209.  
  210. 20. At least two labels
  211.  
  212. Provisional number            : E65
  213. Summary                       :
  214. Description of requirement    :
  215.  
  216. Concerning whether or not any given simulator is conformant with IEEE-1076,it is
  217. desirable to have at least two different labels :
  218.  
  219. - one for purely digital circuits : "VHDL-1076-92" ;
  220. - one for mixed, analog-digital, circuits : "AHDL-1076.1-93" ;
  221. - and possibly one for purely analog circuits, depending on how
  222.   1076.1 is specified.
  223.  
  224. Also it is desirable to have a clear (static) criterion to identify a circuit
  225. (configuration, or entity plus architecture) as being digital, analog, or mixed.
  226.  
  227. VHDL 92 solution              :
  228. Suggested strategy            :
  229. Consistent with               :
  230. Different from                :
  231. Opposed to                    :
  232.  
  233. 21. Re-use digital constructs
  234.  
  235. Provisional number            : E66
  236. Summary                       :
  237. Description of requirement    :
  238.  
  239.   Whenever an analog (or mixed) model uses the same kind of construct as a
  240. digital one, it is desirable to use exactly the same syntax and semantics as
  241. already defined in IEEE-1076-92, to avoid misunderstandings.
  242.  
  243. Examples of constructs which can be shared by digital and analog :
  244.  
  245. - type definition, function definition, sequential procedure
  246.   definition,
  247.  
  248. - function or procedure call, ... ...
  249.  
  250. Examples of constructs which are different in syntax and in semantics :
  251.  
  252. - connection of several ports to a signal versus connection of
  253.   several pins to a node ;
  254. - relation (or analog procedural model) versus digital process.
  255.  
  256. VHDL 92 solution              :
  257. Suggested strategy            :
  258. Consistent with               : E12, E13, E14, E16.
  259. Different from                :
  260. Opposed to                    :
  261.  
  262. 22. Definition of analog time
  263.  
  264. Provisional number            : E67
  265. Summary                       :
  266. Description of requirement    :
  267.  
  268. Obviously, to perform mixed (analog-digital) descriptions and simulations, clear
  269. definitions are needed for the digital time (this already exists) and for the
  270. analog time (to be defined). Moreover the definition of the analog time should
  271. not be completely opposed to that of the digital time, to allow conversion and
  272. synchronisation.
  273.  
  274. VHDL 92 solution  :
  275.  
  276. Suggested strategy  :
  277.  
  278. Digital time is defined in a very precise way by the LRM. In any given
  279. simulation, digital time may be viewed as the list of dates (each one expressed
  280. as an integer number of femto-seconds) at  which at least one event occurred.
  281. Between two successive dates, nothing happens and signals keep their last value.
  282.  
  283. Analog time could be defined in a similar way : it is the list of dates at which
  284. the simulator decided to compute new values for (some of) the voltages and
  285. currents. Between two successive dates, currents and voltages are, strictly
  286. speaking, unknown, but can be evaluated by interpolation. Whether each of the
  287. dates in the list is expressed by a real number (in seconds) or by an integer
  288. number (in femto- seconds) is not crucial : in fact most existing simulators
  289. could input and output dates using a VHDL-like format (integer number of
  290. femto-seconds) even if real numbers are used internally.
  291.  
  292. Following this line, the opposition between "discrete" time and "continuous"
  293. time disappears.
  294.  
  295. VHDL 92 solution              :
  296. Suggested strategy            :
  297. Consistent with               :
  298. Different from                : NA1
  299. Opposed to                    :
  300.  
  301. 23. Time synchronisation
  302.  
  303. Provisional number            : E68
  304. Summary                       :
  305. Description of requirement    :
  306.  
  307. Obviously, to perform mixed (analog-digital) descriptions and simulations, clear
  308. definitions are needed for the conversion between analog and digital times. This
  309. problem is often cited and sometimes viewed as a simple problem of "type
  310. conversion" : converting a digital date (an integer number of Femto-seconds) to
  311. and from an analog date (viewed as some kind of real number, possibly in
  312. seconds). See for example "Functionnal modelling of analog blocks in VHDL ;
  313. Bernt Arbegard ; Euro-Vhdl-91, Stockholm".
  314.  
  315. This conversion is necessary but not sufficient ; a definition of how digital
  316. dates and analog dates will be intermixed along the (unique) time axis is also
  317. needed. This is the problem of time synchronisation, which requires that at
  318. least a broad model of a complete mixed simulator be described : digital kernel
  319. (conformant with 1076-92, plus "hooks"), analog kernel (to be defined) and
  320. interactions between analog and digital (also to be defined).
  321.  
  322. VHDL 92 solution              :
  323.  
  324. Suggested strategy            :
  325.  
  326. Assume a definition of analog time such as the one proposed in a companion
  327. requirement (provisional number rqr-ana-4 ) ; use a template of the mixed
  328. simulator (see next page) ; define a general strategy for running and suspending
  329. the analog and digital parts ; this is linked to the definition of "hooks" in
  330. the digital part (see next page) ; address the problem of fine synchronisation
  331. (see for example "Mixed VHDL - Analog Simulation, Mart Altmae, Euro-Vhdl-91,
  332. Stockholm").
  333.  
  334. Proposed sketch of the mixed simulator :
  335.  
  336.  -------------                       --------------
  337.  | Processes |                       | Relations  |
  338.  -------------                       --------------
  339.             ------                 -------
  340.             | DK |  <--> GK <-->   | AK  |
  341.             ------                 -------
  342.  -------------                       --------------
  343.  | Signals   |                       | ".U",".I"  |
  344.  -------------                       --------------
  345.  
  346. On the left-hand side is the digital part, compliant with VHDL-92. It is
  347. composed of processes, signals, and the digital kernel (or DK for short). It
  348. knows the list of "analogue relevant signals" : those signals which are used, in
  349. one way or another, in the analogue part (see companion requirement rqr-ana-8).
  350.  
  351. On the right-hand side is the electrical part. It is composed of differential
  352. equations, nodes and pins, and an electrical kernel (or AK for short). It knows
  353. the list of "digital relevant voltages (or currents)" : those voltages (or
  354. currents) which are used, in one way or another, in the digital part (see
  355. companion requirement rqr-ana-9).
  356.  
  357. The general kernel (GK) is in charge of synchronisation between the analog part
  358. and the digital part.
  359.  
  360. It is desirable to introduce as few new features as possible in the DK, and to
  361. place as few assumptions as possible on the AK.
  362.  
  363. Step 1 : the DK performs normally, for some date t1, as specified in IEE1076-87;
  364. when it reaches the step where "time may advance", instead of advancing time
  365. (to t2), it suspends and reports to the GK with the following information : list
  366. of (new) values of analogue relevant signals, date of next digital event (here
  367. t2) ;
  368.  
  369. Step 2 : the GK forwards this information to the AK, and starts it ; the AK
  370. should not go beyond t2 ; it may suspend before t2 (let us say at time t3) if
  371. some of the digital relevant voltage has crossed one of its relevant threshold ;
  372. the AK then suspends and reports to the GK with the following information : list
  373. of (new) values of digital relevent voltages, list of those voltages which have
  374. crossed a threshold, present date (t2 or possibly t3).
  375.  
  376. step 3 : the GK forwards this information to the DK and starts it ; we can go
  377. back to step 1.
  378.  
  379. New features in the DK : when it reaches the situation where "time may
  380. adavance", the DK must be capable of being suspended and restarted, possibly at
  381. some earlier date with "unforeseen" events triggered by the analogue part.
  382.  
  383. Assumptions on the AK : it must be capable of calling user-supplied thresholding
  384. functions on the digital relevant voltages and of adjusting its time-step to
  385. halt before t2.
  386.  
  387. Dissymmetry of the interaction : this sketch is not symmetrical : the DK may be
  388. re-started "earlier than foreseen" (at t3) while the AK is only instructed "not
  389. to go beyond t2" ; the reason is that digital signals do not change between
  390. events, while analogue voltages must be viewed as continuous.
  391.  
  392. NOTE : what to do at time 0 is also to be defined. See for example requirement
  393. E47.
  394.  
  395. Consistent with               : NA2, E47
  396.  
  397. 24. Portability of analog models
  398.  
  399. Provisional number            : E69
  400. Summary                       :
  401. Description of requirement    :
  402.  
  403. In the digital domain, the semantics is defined in such a way that models are
  404. portable : the same simulation leads to the same events happening at the same
  405. dates, whichever simulator is used.  Portability is also desirable for analog
  406. (and mixed) models, but must be defined in a different way, to account for the
  407. fact that solving a set of differential equations is not an exact science !
  408.  
  409. VHDL 92 solution              :
  410. Suggested strategy            :
  411.  
  412. Define a "precision" and state that two analog simulations are equivalent if the
  413. values of any voltage or current at any date (whether actually computed or
  414. interpolated) are the same (within that precision) ;
  415.  
  416. Normalize the way the equation-set is built : Starting from the structural and
  417. functionnal description of the different parts of the circuit, a single equation
  418. set will be built (at compilation or elaboration time) and solved (at simulation
  419. time) ; the contents of this equation set must be normalised.
  420.  
  421. Specify the computation accuracy used for solving the equation set ;
  422.  
  423. Normalize the interactions between the digital and analog parts ;
  424.  
  425. Leave the rest to the implementation (detailed method used for solving the
  426. equation set, time-step management, ...).
  427.  
  428. (Define a "validation suite" ?)
  429.  
  430. Consistent with               : NA1
  431. Different from                :
  432. Opposed to                    :
  433.  
  434. 25. Use of existing methods
  435.  
  436. Provisional number            : E70
  437. Summary                       :
  438. Description of requirement    :
  439.  
  440. The structural constructs (pins and nodes, or others) and the functionnal
  441. constructs (relations, or others) used in analog models, and the implied
  442. semantics (KCL, equations, others, ...), must be such that the building and
  443. solving of the set of differential equations may be performed using existing,
  444. proven methods.
  445.  
  446. VHDL 92 solution              :
  447. Suggested strategy            :
  448.  
  449. Review existing methods, as implemented in existing simulators ; choose a
  450. minimum set of features to be specified and normalised.
  451.  
  452. Possible items :
  453. - modified nodal method for building the equation set ;
  454. - procedural models  providing the branch current as a function of
  455.   voltages ;
  456. - implicit states (one more equation) when the analytical solution
  457.   is unknown ;
  458. - access to "old" value of a variable, and to the corresponding
  459.   time-step ;
  460. - use of time derivative ;
  461. - others ...
  462.  
  463. Consistent with               : NA4
  464. Different from                : (E12 ?)
  465. Opposed to                    :
  466.  
  467. 26. User control over Digital to Analog interactions
  468.  
  469. Provisional number            : E71
  470. Summary                       :
  471. Description of requirement    :
  472.  
  473. Interactions from the digital part to the analog part should be user-definable ;
  474. this will allow technology-specific or application-specific interactions to be
  475. modelled at the desired level of abstraction ; it will not prevent from using
  476. "standard" packages for standard cases.
  477.  
  478. VHDL 92 solution              :
  479. Suggested strategy            :
  480.  
  481. As soon as the principles of analog functionnal modeling are defined
  482. ("relations", or procedural models) it will be easy to specify how the
  483. (up-dated) values of signals may be used inside analog models ;
  484.  
  485. possible interactions :
  486.  
  487. - the value of an enumerated-type (digital) signal may be used
  488.   within an "if" or "case" statement to choose between several forms
  489.   of a differential equation ;
  490.  
  491. - the value of a real or integer signal may be used as a parameter
  492.   within a differential equation ;
  493.  
  494. - both may be used in the (sequential) computations taking place
  495.   within a procedural model (if such a modeling technique is used).
  496.  
  497. The problem of discontinuity must be addressed (i.e. a controlled voltage source
  498. which suddenly swtiches from 0V to 5V may disturb the analogue simulator).
  499.  
  500. Consistent with               : NA5, E48
  501. Different from                :
  502. Opposed to                    :
  503.  
  504. 27. User control over Analog to Digital interactions
  505.  
  506. Provisional number            : E72
  507. Summary                       :
  508. Description of requirement    :
  509.  
  510. Interactions from the analog part to the digital part should be user-definable ;
  511. this will allow technology-specific or application-specific interactions to be
  512. modelled at the desired level of abstraction ; it will not prevent from using
  513. "standard" packages for standard cases.
  514.  
  515. VHDL 92 solution              :
  516. Suggested strategy            :
  517.  
  518. The values of any node voltage or any pin current  should be usable in the
  519. right-hand side of signal (or variable) assignement statements in the digital
  520. part ; they should also be usable in boolean expressions.
  521.  
  522. The digital processes (or equivalent processes) which make use of such current
  523. or voltage values will have to be triggered when the digital conditions are met
  524. (e.g. event on a signal in the sensitivity list), and in addition they will have
  525. to be triggered also when a "significant" change occurs on one of the current or
  526. voltage they use.
  527.  
  528. To avoid a great number of unnecessary calls to these processes, some form of
  529. thresholding, with user-provided functions, should be included in the analog
  530. kernel.
  531.  
  532. The problem of "time-step adjustment" must be addressed (see for example "Mixed
  533. VHDL-Analog Simulation, Mart Altmae, Euro-Vhdl-91, Stockholm").
  534.  
  535. Consistent with               : NA5, E48
  536. Different from                :
  537. Opposed to                    :
  538.  
  539. 28. Dimensional analysis of physical types
  540.  
  541. Provisional number            : E73
  542. Summary: Extend the VHDL type model to support the dimensional
  543. analysis of physical quantities
  544.  
  545. DESCRIPTION OF REQUIREMENT:  
  546.  
  547. It should be possible to write expressions involving physical quantities
  548. without having to overload the standard arithmetic operators.  For
  549. example, it should be possible to multiply a variable of `type' voltage
  550. by one of `type' current and assign the result to something of `type'
  551. power without having to define an overloaded multiplication operator.
  552.  
  553. This requirement re-states two requirements from the 1076 requirements
  554. ballot.  Specifically E62 by D. Rodriguez and D. Rouqier
  555. and A18 by Alfred S. Gilman.
  556.  
  557. SUGGESTED STRATEGIES:
  558.  
  559. All physical quantities or units of measurement have dimensions
  560. defined in terms of seven basic physical units (metre, kilogramme,
  561. second, ampere, kelvin, candela and mole).  These units are termed the
  562. `SI' units and are defined by the standard ISO-1000.
  563.  
  564. For example, the unit of power, the watt, can be defined:
  565.  
  566.             2  -3 
  567. 1 W = 1 kg m  s    (Kilogramme, metre squared, per second cubed)
  568.  
  569. If, when any physical type is defined, the dimensions of the type (in
  570. terms of the 7 basic SI units, which are perhaps defined using some
  571. standard package) are also specified then any assignment operations in
  572. the language can be checked for dimensional equivalence.
  573.  
  574. The dimension specification could be added to the declaration of
  575. a physical type, using some suitable syntactic convention for expressing
  576. the various numerators and demoninators.
  577.  
  578. Some rules for arithmetic operations (such as those in 1076 requirement
  579. E62) would be required to define how dimensioned quantities are
  580. arithmetically combined.
  581.  
  582. 29. Domain of application
  583.  
  584. Provisional number            : E74
  585. Summary                       :
  586. Description of requirement    :
  587.  
  588.     The mixed language to be specified in IEEE1076.1 should enable the user to
  589. perform not only electrical simulation of digital circuits, but also analog
  590. simulation of "truely" analog circuits.
  591.  
  592.     In the first case, the electrical (and timing) performances of a digital
  593. circuit (e.g. adder, register) may be checked, and simplified simulation
  594. techniques may be used.
  595.  
  596.     In the second case, the behavior of an analog circuit (e.g. operational
  597. amplifier) may be checked, and precise simulation my be necessary.
  598.  
  599.     Clearly both styles must be possible when using IEEE1076.1
  600.  
  601. VHDL 92 solution              :
  602. Suggested strategy            :
  603.  
  604. Check that no language feature prevents from modeling truely analog circuits.
  605.  
  606. Possible problems :
  607.      - definition of (analog) time (variable time-step must be possible) ;
  608.      - definition of "DC" analysis to be performed at time 0.
  609.  
  610. Consistent with               :
  611. Different from                :
  612. Opposed to                    :
  613.  
  614. 30. Several modeling techniques
  615.  
  616. Provisional number            : E75
  617. Summary                       :
  618. Description of requirement    :
  619.  
  620.     The mixed language to be specified in IEEE1076.1 should provide the user
  621. several modeling techniques for the analog parts.
  622.  
  623.     Modeling by equations has already been proposed (see requirement E12). This
  624. method is simple and, in some cases, necessary. But it is well known that it
  625. leads to a greater number of equations in the equation-set.
  626.  
  627.     Procedural description should also be provided. In this method, analog
  628. blocks are seen as controlling their branch currents as functions of the node
  629. voltages (the node voltages are iteratively proposed by the analog kernel when
  630. solving the equation set, until the branch currents returned by analog blocks
  631. statisfy KCL).
  632.  
  633.     The "equation" method must be maintained and specified, because it is the
  634. only applicable method in some cases, but the "procedural" method must be
  635. added, because it will enable faster simulations.
  636.  
  637. VHDL 92 solution              :
  638. Suggested strategy            :
  639.  
  640.     Study and specify the "analog procedural model" :
  641.  
  642. - semantics (sequence of computation, with node voltages being read as input
  643.   parameters, and branch current being returned as results) ;
  644.  
  645. - instants at which the analog procedural model will be called by the analog
  646.   "kernel" ;
  647.  
  648. - syntax (could re-use most of the syntax of the digital process) ;
  649.  
  650. Consistent with               :
  651. Different from                :
  652. Opposed to                    :
  653.  
  654. 31. Consistency check for excitations and results in different
  655.     analogue simulators
  656.  
  657. Provisional number            : E76
  658. Summary:    Signal typing and comparison possibility would be needed to
  659.         be sure that input and output signals of different type of
  660.         analogue simulators are consistent. 
  661.  
  662. Description of the requirement:
  663.  
  664. In analog design, variety of simulation tools must usually be used 
  665. (high-level programming languages for system behavioural verification, 
  666. linear ac simulators for frequency responses and time domain simulators 
  667. for non-linear effects) and the main problem seems not be the actual 
  668. simulation but being sure that what you have simulated is what you have 
  669. in the schematics. Simulating small sub-blocks, either linear or non-linear, 
  670. is possible by describing appropriate input signals by hand to that particular 
  671. simulator, but verifying the correctness of the whole circuit cannot usually 
  672. be done: you cannot be sure that connections between sub-blocks (especially 
  673. between analog and digital parts) have the right polarity and so on. 
  674.  
  675. It seems obvious, that VHDL itself is useful only in very simplified 
  676. behavioural time domain analysis of analog circuits. What I would consider 
  677. very useful is that different architecture descriptions of VHDL could be 
  678. used as links or source code to different analog simulators that may run 
  679. parallel with digital VHDL simulation. VHDL itself would be used as a 
  680. design framework which takes care that the types and waveforms of input 
  681. and output signals remain consistent, no matter what simulator is used.
  682.  
  683.  
  684. Suggested strategies:
  685.  
  686. Firstly, I'm sorry to confess that I have no practical experience of using 
  687. VHDL, so these are mere guesses which may not be practical at all.
  688.  
  689. The strong signal typing capability of VHDL could be used to distinguish 
  690. which signals are clocks, which ac-inputs or outputs and which mere dc 
  691. voltage or current references. VHDL would check that current reference 
  692. type signal is described by dc type source IBIAS in Spice, for example.
  693.  
  694. Due to different accuracies of simulators, perhaps a visual comparison 
  695. would be best. The framework would show e.g. transient results of a 
  696. behavioural model to be used in VHDL simulation and from a Spice simulation 
  697. on same time scale, and the designer's job is to verify that they agree 
  698. close enough. Thus VHDL could be used to write spesifications of the 
  699. function and to test that specs are fullfilled.
  700.  
  701. 32. Analogue Modelling Requirements in VHDL
  702.  
  703. Provisional number            : E77
  704. Descripiton:
  705.  
  706. The following items would be required to give adequate analogue
  707. support in VHDL.  
  708.  
  709. 1/ Differential Equation specification for physical units
  710.  
  711.         eg di/dt,  dv/dt
  712.  
  713. 2/ New standard physical type definitions to cover current and power units
  714.  
  715. 3/ A standard set of functions for often-used analogue sources
  716.  
  717.         eg sine, cosine, voltage/current controlled sources
  718.  
  719. 4/ New VHDL signal type definitions that can contain current, voltage and phase
  720. angle information.
  721.  
  722. 5/ Overloading of standard operators to support real and imaginary
  723. numbers (ie to handle phase-angle summations)
  724.  
  725. Summary:
  726.  
  727. By inventing some functions and new types many analogue issues can be addressed
  728. in the current 1076 standard.  The most important issue is that
  729. their should be agreement on the names and definitions so that 
  730. everyone adopts them.
  731.  
  732. 33. Mixed entities required
  733.  
  734. Provisional number            : E78
  735. Summary                       :
  736. Description of requirement    :
  737.  
  738. When using 1076.1, it should be possible to describe and simulate mixed (analog
  739. plus digital) circuits, circuits having digital I/Os (e.g. bits or bit-vectors,
  740. whether input, output or three-state) and analog  I/Os (e.g. analog input or
  741. analog output).
  742.  
  743. Thus it should be possible to declare an entity as having, at the same time,
  744. (digital) PORTS and (analog) PINS (and possibly GENERICS and PARAMETERS).
  745.  
  746. VHDL 92 solution              :
  747. Suggested strategy            :
  748. Consistent with               :
  749. Different from                :
  750. Opposed to                    :
  751.  
  752. 34. Implementation issues
  753.  
  754. Provisional number            : E79
  755. Summary                       :
  756. Description of requirement    :
  757.  
  758. When defining 1076.1, attention should be paid to what is (easily ?)
  759. implemented and what is impossible (or nearly impossible) to implement. This
  760. should be done with the cooperation of people having an experience in the
  761. implementation of mixed simulators.
  762.  
  763. Example of feasible things :
  764.  - model an analog black box by a set of equations
  765.  - model an analog black box by a procedural model
  766.  - read a digital signal and use it in the analog behavior
  767.           (with visibilty rules)
  768.  - read an analog voltage and use it in the digital behavior
  769.           (with visibilty rules)
  770.  
  771. Examples of things which should be forbidden (by the syntax)
  772.  - overwrite a digital signal from within an analog black box
  773.  - overwrite an analog voltage from within a process
  774.  - turn a voltage-source into a current-source and vice-versa
  775.  
  776. VHDL 92 solution              :
  777. Suggested strategy            :
  778. Consistent with               :
  779. Different from                :
  780. Opposed to                    :
  781.  
  782. 35. Single Timing Semantic
  783.  
  784. Provisional number            : A176
  785.  
  786. Description:
  787. Any extensions to the semantic timing model of VHDL should be incorporated
  788. into the existing timing model of the 92 standard or should handle the
  789. model used in the 92 standard.  In particular, the evaluation of
  790. continuous-time models should be integrated with the evaluation of
  791. event-driven models into a single "simulation cycle" mechanism.
  792.  
  793. 36. Pass Through of Analog Values
  794.  
  795. Provisional number            : A177
  796.  
  797. Description:
  798. The transferal of analog values through a communication channel which
  799. passes through a mixed component which contains digital elements but
  800. does not involve mixed digital/analog operations on those values
  801. should not require a conversion to the digital domain.
  802.  
  803. 37. Fully Intermixed Designs
  804.  
  805. Provisional number            : A178
  806.  
  807. Description:
  808. Any extended language should allow the intermixing of any runtime
  809. statements, structural elements, or declarative statements within
  810. any of the structural blocks of the language.  There should be no
  811. distinction between analog blocks/components/entities and digital
  812. blocks/components/entities.
  813.  
  814. Consider the following case:
  815.  
  816.                         Mixed Component
  817.                         ---------------
  818.      +----------------->Mixed Interface-----------------+
  819.      |                  Digital Behavior                |
  820.      |                                                  |
  821.      |   Analog Component          Analog Component     |
  822.      |   ----------------          ----------------     |
  823.      +-- Analog Source               Analog Reader <----+
  824.  
  825.  
  826. The analog reader should see the exact value generated by the analog
  827. source.
  828.  
  829. 38. Specification of Initial Analog Conditions
  830.  
  831. Provisional number            : A179
  832.  
  833. Summary: The initialization of a VHDL model must be extended from the
  834. current procedural notation to something that allows the
  835. inclusion of initial analog characteristics.
  836.  
  837. DESCRIPTION OF PROBLEM: A method for specifying the initial (time-zero) 
  838. conditions of analog models must be provided.  Examples of possible initial
  839. conditions are the charge on a capacitor, the flux of an inductor.  More
  840. generally, an initial condition can be some voltage across or some current
  841. though a branch.  If an initial condition is not specified, the simulator
  842. will use the value calculated from the DC solution of the circuit as the
  843. value for time-zero at a branch when transient analysis is performed.
  844.  
  845. VHDL 87 SOLUTION:  None
  846.  
  847. 39. Specification of Non-conserved analog systems
  848.  
  849. Provisional number            : A180
  850.  
  851. Summary: It should be possible to specify non-conserved analog systems |
  852. in VHDL.  This would extend the applicability of VHDL to      |
  853. incude control system design.                                 |
  854.  
  855. DESCRIPTION OF PROBLEM: It should be possible to specify a non-conserved
  856. analog system to VHDL.  A non-conserved (e.g. control) system use signal
  857. flow semantics to interconnect functional blocks.  In other words, the 
  858. signals form a directed graph of functional blocks.  A functional block
  859. implements some function on the input signal(s), relating them to the 
  860. output signal(s).
  861.  
  862. VHDL 87 SOLUTION:  None
  863.  
  864. The following additional requirements were presented at VHDL-Forum
  865. ==================================================================
  866.  
  867. 40.VDHL must facilitate a top down design methodology for analog systems
  868.    from very high levels of abstraction (e.g. H(s), Control Loops, etc.)
  869.    down through their physical implementations. The must include the
  870.    specification of S domain expressions and related transfer functions.
  871.  
  872. 41.VHDL must support the simulation of Sampled Data Systems and other DSP
  873.    applications. The must include the specification of Z domain
  874.    expressions and related transfer functions.
  875.  
  876. 42.VHDL must be able to model analog noise sources and allow them to be
  877.    conditionally injected into the behavior of a model.
  878.  
  879. 43.VHDL must be able to model an ideal analog delay.
  880.  
  881. 44.VHDL must be able to model ideal voltage and current sources.
  882.  
  883. 45.VHDL must allow the specification, from within a model, of the next
  884.    time step the simulator is guaranteed to evaluate.
  885.  
  886. 46. VHDL must support the following functions and operators:
  887.  
  888.     * an intergal operator which allows the specificating of an
  889.       initial condition
  890.     * power of operator (** in FORTRAN)
  891.     * random number function
  892.     * transfer function whose arguments are the coefficients of S or Z
  893.       poly's
  894.